package com.vpen.springsecuritytest.authority.impl;

import com.vpen.springsecuritytest.authority.MyAuthorityPermit;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Component;

import javax.servlet.http.HttpServletRequest;


/**
 * -@Version 1.0
 * -@Author:Vpen
 * -@Date:2021/3/15 9:39
 * -@Content:
 */
// 必须用Spring容器管理，否则Security配置类型中无法获取对象
@Component
public class MyAuthorityPermitImpl implements MyAuthorityPermit {
    /**
    * -@author Vpen
    * -@name hasAuthority
    * -@date 2021/3/15 10:00
    * -@param [
     * request, 请求对象，可以通过请求对象获取请求路径，请求参数，请求数据作用域
     * authentication 用户登录成功后，SpringSecurity维护的用户登录标记，内部包含UserDetail的信息(用户名和权限集)
     * ]
    * -@return boolean
    * -@作用:
     * 参数名：roles；参数值：字符串数组。代表本次请求地址，需要访问权限
     * 参数名：authorities；参数值：字符串数组，代表本次请求地址，需要访问权限
    */
    @Override
    public boolean hasAuthority(HttpServletRequest request,
                                Authentication authentication) {
        return false;
    }
}
